package com.ecar.api.pay.wx;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

/**
 * 类名：WeixinpayConfig 功能：基础配置类 详细：设置帐户有关信息及返回路径 版本：1.0 日期：2016-06-17
 * 说明：https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
 */
@Service
public class WeixinPayConfig {

	// ↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
	// 应用ID String(32) 微信开放平台审核通过的应用APPID
	public static String appid;
	public static String appid_h5;

	// 商户支付密钥 key设置路径：微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置2703268
	public static String partnerkey;
	public static String partnerkey_h5;

	// 商户号 String(32) 1348463901微信支付分配的商户号
	public static String mch_id;
	public static String mch_id_h5;

	// 通知地址 String(256) 接收微信支付异步通知回调地址，通知url必须为直接可访问的url，不能携带参数。
	public static String notify_url;
	public static String notify_h5_url;

	// 服务器域名
	public static String server_url;
	// 微信公众号支付回调url
	public static String wxgzh_notify_url;

	// 微信统一支付地址 固定值
	public static String unipay_url = "https://api.mch.weixin.qq.com/pay/unifiedorder";

	// 编码 固定值
	public static String charset = "UTF-8";

	// 微信查询订单地址 固定值
	public static String query_order_url = "https://api.mch.weixin.qq.com/pay/orderquery";

	// 微信关闭订单地址 固定值
	public static String close_order_url = "https://api.mch.weixin.qq.com/pay/closeorder";

	// 微信申请退款地址 固定值
	public static String pay_refund_url = "https://api.mch.weixin.qq.com/secapi/pay/refund";

	// 微信申请退款查询地址 固定值
	public static String query_refund_url = "https://api.mch.weixin.qq.com/pay/refundquery";

	// 服务商模式下，APPID
	public static String FWS_appid;
	// 服务商模式下，商户号
	public static String FWS_mchid;
	// 服务商APPID，获取token
	public static String TOKEN_APPID;
	// 服务商APPSECRET，获取token
	public static String TOKEN_SECRET;
	// 服务商模式下，下单地址
	public static String FWS_pay_url;
	// 服务商模式下，查询订单地址
	public static String FWS_query_order_url;
	// 服务商模式下，获取接口票据地址
	public static String FWS_token_url;
	// 服务商模式下，获取退款签名地址
	public static String FWS_sign_url;

	@Value("${wxpay.app.appid}")
	public void setAppid(String appid) {
		WeixinPayConfig.appid = appid;
	}

	@Value("${wxpay.h5.appid}")
	public void setAppid_h5(String appid_h5) {
		WeixinPayConfig.appid_h5 = appid_h5;
	}

	@Value("${wxpay.app.partnerkey}")
	public void setPartnerkey(String partnerkey) {
		WeixinPayConfig.partnerkey = partnerkey;
	}

	@Value("${wxpay.h5.partnerkey}")
	public void setPartnerkey_h5(String partnerkey_h5) {
		WeixinPayConfig.partnerkey_h5 = partnerkey_h5;
	}

	@Value("${wxpay.app.mchid}")
	public void setMch_id(String mch_id) {
		WeixinPayConfig.mch_id = mch_id;
	}

	@Value("${wxpay.h5.mchid}")
	public void setMch_id_h5(String mch_id_h5) {
		WeixinPayConfig.mch_id_h5 = mch_id_h5;
	}

	@Value("${wxpay.notify.url}")
	public void setNotify_url(String notify_url) {
		WeixinPayConfig.notify_url = notify_url;
	}

	@Value("${wxpay.fws.appid}")
	public void setFWS_appid(String FWS_appid) {
		WeixinPayConfig.FWS_appid = FWS_appid;
	}

	@Value("${wxpay.fws.mchid}")
	public void setFWS_mchid(String FWS_mchid) {
		WeixinPayConfig.FWS_mchid = FWS_mchid;
	}

	@Value("${wxpay.token.appid}")
	public void setTOKEN_APPID(String TOKEN_APPID) {
		WeixinPayConfig.TOKEN_APPID = TOKEN_APPID;
	}

	@Value("${wxpay.token.secret}")
	public void setTOKEN_SECRET(String TOKEN_SECRET) {
		WeixinPayConfig.TOKEN_SECRET = TOKEN_SECRET;
	}

	@Value("${wxpay.fws.tokenurl}")
	public void setFWS_get_token_url(String FWS_get_token_url) {
		WeixinPayConfig.FWS_token_url = FWS_get_token_url;
	}

	@Value("${wxpay.fws.payurl}")
	public void setFWS_pay_url(String FWS_pay_url) {
		WeixinPayConfig.FWS_pay_url = FWS_pay_url;
	}

	@Value("${wxpay.fws.queryurl}")
	public void setFWS_query_order_url(String FWS_query_order_url) {
		WeixinPayConfig.FWS_query_order_url = FWS_query_order_url;
	}

	@Value("${wxpay.notifyh5.url}")
	public void setNotify_h5_url(String notify_h5_url) {
		WeixinPayConfig.notify_h5_url = notify_h5_url;
	}

	@Value("${wxpay.fws.signurl}")
	public void setFWS_sign_url(String FWS_sign_url) {
		WeixinPayConfig.FWS_sign_url = FWS_sign_url;
	}

	@Value("${server.url}")
	public void setServer_url(String server_url) {
		WeixinPayConfig.server_url = server_url;
	}

	@Value("${wxgzh.notify.url}")
	public void setWxgzh_notify_url(String wxgzh_notify_url) {
		WeixinPayConfig.wxgzh_notify_url = wxgzh_notify_url;
	}
}
